package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.pojo.dto.CartQueryDto;
import com.example.pojo.entity.Cart;
import com.example.pojo.vo.CartQueryVo;
import java.util.List;

/**
 * 购物车 service 层接口
 */
public interface CartService extends IService<Cart> {

    /**
     * 将一个宠物用品加入购物车
     *
     * @param cart 购物车
     */
    void add(Cart cart);

    /**
     * 查询购物车
     *
     * @param dto 条件
     * @return 宠物用品列表
     */
    List<CartQueryVo> query(CartQueryDto dto);


    /**
     * 修改购物车中的宠物用品数量
     *
     * @param id 购物车id
     * @param updateNumber 变化的数量
     */
    void updateGoodsNumber(Integer id, Integer updateNumber);

    /**
     * 将一种宠物用品移出购物车
     *
     * @param id 购物车id
     */
    void delete(Integer id);


    /**
     * 将多种宠物用品移出购物车
     *
     * @param ids 购物车id列表
     */
    void deleteBatch(List<Integer> ids);
}
